/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controller.admin;

import dao.NguoidungDAO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import pojo.Nguoidung;

/**
 *
 * @author kydrenw
 */
public class AdminController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
        hsr1.setCharacterEncoding("UTF-8");
        HttpSession Session = hsr.getSession();

        String action = hsr.getParameter("action");

        if (action != null) {
            // đăng xuất
            if (action.equals("signout")) {
                Session.removeAttribute("nguoiDung");
                hsr.setAttribute("message", "Đăng nhập với quyền quản trị !");
                return new ModelAndView("admin/dangnhap");
            } // đăng nhập
            else if (action.equals("signin")) {
                String tendangnhap = hsr.getParameter("tendangnhap");
                String matkhau = hsr.getParameter("matkhau");
                if (tendangnhap != null && matkhau != null) {
                    // đăng nhập thất bại
                    if (!NguoidungDAO.kiemTraDangNhap(tendangnhap, matkhau)) {
                        hsr.setAttribute("message", "Sai tên đăng nhập hoặc mật khẩu");
                        return new ModelAndView("admin/dangnhap");
                    }

                    // đăng nhập thành công
                    Nguoidung nguoiDung = NguoidungDAO.layThongTin(tendangnhap);
                    Session.setAttribute("nguoiDung", nguoiDung);
                }
            }
        }

        Nguoidung nguoiDung = (Nguoidung) Session.getAttribute("nguoiDung");
        if (nguoiDung != null && NguoidungDAO.laAdmin(nguoiDung.getTendangnhap())) {
            hsr1.sendRedirect("nguoidung.htm");
            return null;
        } else if (nguoiDung != null && NguoidungDAO.laQuanLy(nguoiDung.getTendangnhap())) {
            hsr1.sendRedirect("sanpham.htm");
            return null;
        } else {
            hsr.setAttribute("message", "Vui lòng đăng nhập với tài khoản quản trị !");
            return new ModelAndView("admin/dangnhap");
        }
    }
}